ãã¡ã€ã³åºæèšèªïŒDSLïŒãšâŸèªã¯ãŒã¯ãã³ãã®äžçãæ¢ãïŒã°ããŒãã«ããŒã ã®ããã«ãœãããŠã§ã¢éçºãåçåããçç£æ§ãåäžãããæ¹æ³ã
ãã¡ã€ã³åºæèšèªãšâŸèªã¯ãŒã¯ãã³ãïŒã°ããŒãã«ãªæŠèг
仿¥ã®è€éãªãœãããŠã§ã¢ã®äžçã§ã¯ããã¡ã€ã³åºæèšèªïŒDSLïŒã®éèŠæ§ããŸããŸãé«ãŸã£ãŠããŸããDSLã¯ç¹å®ã®ãã¡ã€ã³å ã®åé¡ã解決ããããã®çãçµã£ãã¢ãããŒããæäŸããéçºè ã¯æ±çšèšèªïŒGPLïŒãããèªç¶ãã€å¹ççã«ãœãªã¥ãŒã·ã§ã³ã衚çŸã§ããŸããDSLã®äœæãä¿å®ãå±éã®ããã®ããŒã«ãšã€ã³ãã©ã¹ãã©ã¯ãã£ãæäŸããèšèªã¯ãŒã¯ãã³ããšçµã¿åãããããšã§ãçç£æ§ã®åäžãšéçºã³ã¹ãã®åæžã®å¯èœæ§ã¯èããé«ãŸããŸããæ¬èšäºã§ã¯ãDSLãšâŸèªã¯ãŒã¯ãã³ãã®å æ¬çãªæŠèŠãæäŸãããã®å©ç¹ã課é¡ãããã³äž»èŠãªããŒã«ãã°ããŒãã«ãªèŠç¹ããèå¯ããŸãã
ãã¡ã€ã³åºæèšèªïŒDSLïŒãšã¯äœãïŒ
DSLã¯ãç¹å®ã®ãã¡ã€ã³ã«å¯Ÿå¿ããããã«èšèšãããããã°ã©ãã³ã°èšèªã§ããJavaãPythonãC++ã®ãããªå¹ åºãã¿ã¹ã¯ã®ããã«èšèšãããGPLãšã¯ç°ãªããDSLã¯ç¹å®ã®åé¡é åã«åãããŠèª¿æŽãããŠããŸãããã®å°éåã«ãããããã€ãã®éèŠãªå©ç¹ãããããããŸãã
- 衚çŸåã®åäžïŒDSLã䜿çšãããšãéçºè ã¯ãã®ãã¡ã€ã³ã«ãšã£ãŠèªç¶ã§çŽæçãªæ¹æ³ã§ãœãªã¥ãŒã·ã§ã³ã衚çŸã§ããŸããããã«ãããã³ãŒããçè§£ãããããä¿å®ã»ä¿®æ£ãããããªããŸãã
- çç£æ§ã®åäžïŒç¹å®ã®ãã¡ã€ã³ã«çŠç¹ãåœãŠãããšã§ãDSLã¯å¿ èŠãªå®åã³ãŒãã®éãåæžããéçºæéã®ççž®ã«ã€ãªãããŸãã
- è€éãã®è»œæžïŒDSLã¯äžèŠãªè©³çŽ°ãæœè±¡åã§ãããããéçºè ã¯ã¢ããªã±ãŒã·ã§ã³ã®ã³ã¢ããžãã¯ã«éäžãããããªããŸãã
- æ€èšŒã®åŒ·åïŒDSLã¯ãã¡ã€ã³ã«ç¹åããŠãããããã³ãŒããæ€èšŒããéçºããã»ã¹ã®æ©ã段éã§ãšã©ãŒãæ€åºããããšã容æã«ãªããŸãã
- éããã°ã©ããŒåãã®æœè±¡åïŒé©åã«èšèšãããDSLã¯ãåºç¯ãªããã°ã©ãã³ã°ç¥èãæããªããã¡ã€ã³ãšãã¹ããŒããéçºããã»ã¹ã«è²¢ç®ã§ããããã«ããŸãã
DSLã®äŸïŒ
- SQLïŒæ§é åç §äŒèšèªïŒïŒãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãšå¯Ÿè©±ããããã
- HTMLïŒãã€ããŒããã¹ãããŒã¯ã¢ããèšèªïŒïŒãŠã§ãããŒãžãæ§é åããããã
- CSSïŒã«ã¹ã±ãŒãã£ã³ã°ã¹ã¿ã€ã«ã·ãŒãïŒïŒãŠã§ãããŒãžãã¹ã¿ã€ãªã³ã°ããããã
- æ£èŠè¡šçŸïŒããã¹ãå ã®ãã¿ãŒã³ãããã³ã°ã®ããã
- MATLABïŒMathWorks瀟ãéçºããç¬èªã®ããã°ã©ãã³ã°èšèªã§ããšã³ãžãã¢ãç§åŠè ã䜿çšã
- GradleïŒGroovyããŒã¹ã®DSLã䜿çšãããã«ãèªååã·ã¹ãã ã
- XtextïŒïŒåŸè¿°ïŒããã¹ã圢åŒã®DSLãäœæå¯èœã
ãããã®ããç¥ãããäŸä»¥å€ã«ããäžçäžã®çµç¹ããéèã¢ããªã³ã°ããç§åŠçã·ãã¥ã¬ãŒã·ã§ã³ãã¯ãŒã¯ãããŒèªååãŸã§ãå€å²ã«ãããç®çã®ããã«ã«ã¹ã¿ã DSLãäœæããŠããŸãããããã®ç¹åããèšèªã¯ãããã»ã¹ãåçåããã€ãããŒã·ã§ã³ãå¯èœã«ããããšã§ç«¶äºäžã®åªäœæ§ããããããŸãã
èšèªã¯ãŒã¯ãã³ããšã¯äœãïŒ
èšèªã¯ãŒã¯ãã³ãã¯ãDSLã®äœæãä¿å®ãå±éã®ããã®ããŒã«ãšã€ã³ãã©ã¹ãã©ã¯ãã£ãæäŸãããœãããŠã§ã¢éçºç°å¢ã§ãããããã®ããŒã«ã«ã¯éåžžã以äžãå«ãŸããŸãã
- èšèªå®çŸ©ããŒã«ïŒDSLã®æ§æãæå³ãå¶çŽãå®çŸ©ããããã
- ãšãã£ã¿ïŒæ§æãã€ã©ã€ããã³ãŒãè£å®ããšã©ãŒãã§ãã¯ãªã©ã®æ©èœãåãããDSLã³ãŒããäœæã»ç·šéããããã
- ã³ã³ãã€ã©ãšã€ã³ã¿ããªã¿ïŒDSLã³ãŒããå®è¡å¯èœã³ãŒãã«å€æããããçŽæ¥è§£éãããããããã
- ãããã¬ïŒDSLã³ãŒãããããã°ããããã
- ãã¹ãããŒã«ïŒDSLã³ãŒãããã¹ãããããã
- ããŒãžã§ã³ç®¡ççµ±åïŒDSLã³ãŒããžã®å€æŽã管çããããã
- ã³ãŒããžã§ãã¬ãŒã¿ïŒDSLã³ãŒãå ã®ã¢ãã«ãä»ã®èšèªã«å€æããããã
èšèªã¯ãŒã¯ãã³ãã¯ãDSLã®æ§ç¯ãšä¿å®ã«å¿ èŠãªåŽåãåçã«åæžããããåºç¯ãªçµç¹ãå©çšã§ããããã«ããŸãããŸããæšæºåãããéçºç°å¢ãæäŸããããšã§ãäžè²«æ§ãšå質ãä¿é²ããŸãã
DSLãšèšèªã¯ãŒã¯ãã³ãã䜿çšããå©ç¹
DSLãšèšèªã¯ãŒã¯ãã³ãã®çµã¿åããã¯ã説åŸåã®ããäžé£ã®å©ç¹ãæäŸããŸãã
- éçºé床ã®åäžïŒDSLã«ããéçºè ã¯ãœãªã¥ãŒã·ã§ã³ãããç°¡æœã«è¡šçŸã§ããèšèªã¯ãŒã¯ãã³ãã¯èšèªéçºã«é¢é£ããå€ãã®ã¿ã¹ã¯ãèªååããŸãã
- ã³ãŒãå質ã®åäžïŒDSLã¯ã³ãŒãã®æç¢ºããä¿é²ãããšã©ãŒã®å¯èœæ§ãæžãããŸããèšèªã¯ãŒã¯ãã³ãã¯ãã³ãŒããæ€èšŒããå¶çŽã匷å¶ããããã®ããŒã«ãæäŸããŸãã
- ä¿å®ã³ã¹ãã®åæžïŒDSLã¯GPLã³ãŒããããçè§£ããããä¿å®ã容æã§ãããèšèªã¯ãŒã¯ãã³ãã¯DSLãžã®å€æŽã管çããããã®ããŒã«ãæäŸããŸãã
- ã³ã©ãã¬ãŒã·ã§ã³ã®åŒ·åïŒDSLã¯æè¡è ãšéæè¡è ã®éã®ã®ã£ãããåããã³ã©ãã¬ãŒã·ã§ã³ãšã³ãã¥ãã±ãŒã·ã§ã³ãä¿é²ããããšãã§ããŸãã
- ã€ãããŒã·ã§ã³ãšç«¶äºäžã®åªäœæ§ïŒçµç¹ãç¹å®ã®ããŒãºã«åãããŠèšèªã調æŽã§ããããã«ããããšã§ãDSLã¯ã€ãããŒã·ã§ã³ãä¿é²ããç«¶äºäžã®åªäœæ§ãæäŸã§ããŸãã
人æ°ã®èšèªã¯ãŒã¯ãã³ã
ããã€ãã®åŒ·åãªèšèªã¯ãŒã¯ãã³ããå©çšå¯èœã§ãããããããã«é·æãšçæããããŸãã以äžã«æãèåãªãã®ãããã€ã玹ä»ããŸãã
JetBrains MPS
JetBrains MPSïŒMeta Programming SystemïŒã¯ããããžã§ã¯ã·ã§ãã«ãšãã£ã¿ããŒã¹ã®èšèªã¯ãŒã¯ãã³ãã§ããããã¹ããè§£æãã代ããã«ãã³ãŒããæœè±¡æ§ææšïŒASTïŒãšããŠä¿åããŸãããã®ã¢ãããŒãã¯ãèšèªã®åæã匷åã«ãµããŒãããæŽç·Žãããèšèªæ©èœãå¯èœã«ããŸããJetBrains MPSã¯äž»ã«ãç·å¯ã«çµ±åãããè€éãªå€æãå¿ èŠãšããèšèªãäœæããããã«äœ¿çšãããŸããå€ãã®çµç¹ããã¡ã€ã³åºæã®ã¢ããªã³ã°ãšã³ãŒãçæã®ããã«äžçäžã§äœ¿çšããŠããŸãã
JetBrains MPSã®äž»ãªç¹åŸŽïŒ
- ãããžã§ã¯ã·ã§ãã«ãšãã£ã¿ïŒã³ãŒãã¯ããã¹ãã§ã¯ãªãASTãšããŠä¿åãããŸãã
- èšèªã®åæïŒè€æ°ã®èšèªãã·ãŒã ã¬ã¹ã«çµã¿åãããããšãã§ããŸãã
- ãžã§ãã¬ãŒãã£ãããã°ã©ãã³ã°ïŒã¢ãã«ããã®ã³ãŒãçæããµããŒãããŸãã
- 匷åãªããŒã«ãµããŒãïŒä»ã®JetBrainsããŒã«ãšããŸãçµ±åããŸãã
Eclipse Xtext
Eclipse Xtextã¯ãããã°ã©ãã³ã°èšèªãšDSLãéçºããããã®ãã¬ãŒã ã¯ãŒã¯ã§ããEclipseãã©ãããã©ãŒã ãããŒã¹ã«ããŠãããããã¹ã圢åŒã®DSLã®äœæã«éç¹ã眮ããŠããŸããXtextã¯ãéçºè ãDSLã®æ§æãå®çŸ©ã§ããææ³èšèªãæäŸããããŒãµãŒãã³ã³ãã€ã©ããšãã£ã¿ãèªåçã«çæããŸããXtextã¯ãç¹ã«ããã¹ãæ§æã奜ãŸããæ§ã ãªãã¡ã€ã³ã®DSLãäœæããããã«ãæ¥çã§åºã䜿çšãããŠããŸããEclipse Foundationã¯ãè±å¯ãªã³ãã¥ããã£ãµããŒããåããå ç¢ãªãšã³ã·ã¹ãã ãæäŸããŠããŸãã
Eclipse Xtextã®äž»ãªç¹åŸŽïŒ
- ããã¹ã圢åŒã®DSLïŒããã¹ãããŒã¹ã®èšèªãäœæããããã«èšèšãããŠããŸãã
- ææ³èšèªïŒææ³ã䜿çšããŠDSLã®æ§æãå®çŸ©ããŸãã
- ã³ãŒãçæïŒããŒãµãŒãã³ã³ãã€ã©ããšãã£ã¿ãèªåçã«çæããŸãã
- Eclipseçµ±åïŒEclipse IDEãšã·ãŒã ã¬ã¹ã«çµ±åããŸãã
Spoofax
Spoofaxã¯ã宣èšçãªèšèªå®çŸ©ã®æ§ç¯ã«çŠç¹ãåœãŠãèšèªã¯ãŒã¯ãã³ãã§ããStratego/XT倿èšèªã䜿çšããè§£æãåæã倿ãã³ãŒãçæã®ããã®ããŒã«ãæäŸããŸããSpoofaxã¯ãç¹ã«åŠè¡ç ç©¶ãé«åºŠãªèšèªå·¥åŠãããžã§ã¯ãã«ãããŠãè€éãªåæãšå€æãå¿ èŠãšããèšèªã®äœæã«é©ããŠããŸããäž»ã«ãšãŒãããã§éçºãããåŠè¡çãäžéšã®ç£æ¥å¿çšã§åºã䜿çšãããŠããŸãã
Spoofaxã®äž»ãªç¹åŸŽïŒ
- 宣èšçãªèšèªå®çŸ©ïŒå®£èšçãªä»æ§ã䜿çšããŠèšèªãå®çŸ©ããŸãã
- Stratego/XTïŒStratego/XT倿èšèªã䜿çšããŸãã
- ããŒãµãŒçæïŒèšèªå®çŸ©ããããŒãµãŒãçæããŸãã
- ã³ãŒã倿ïŒè€éãªã³ãŒã倿ããµããŒãããŸãã
Intentional SoftwareïŒéæšå¥šïŒ
æŽå²çã«ããã£ãŒã«ãºã»ã·ã¢ããŒïŒãã€ã¯ããœããã§æåïŒã«ãã£ãŠèšç«ãããIntentional Softwareã¯ãèšèªã¯ãŒã¯ãã³ãåéã§æ³šç®ãã¹ãååšã§ãããå瀟ãšãã®äž»å補åã¯ãã¯ãç©æ¥µçã«éçºãããŠããŸããããã€ã³ãã³ã·ã§ãã«ããã°ã©ãã³ã°ãšèšèªæåããã°ã©ãã³ã°ã«é¢ãããã®ã¢ã€ãã¢ã¯ããã®åéã«å€§ããªåœ±é¿ãäžããŸãããã€ã³ãã³ã·ã§ãã«ããã°ã©ãã³ã°ã¯ãéçºè ãåŸæ¥ã®ããã°ã©ãã³ã°èšèªã®å¶çŽã«çžãããã®ã§ã¯ãªãããã®æå³ãçŽæ¥è¡šçŸã§ãããããªèšèªãšããŒã«ãäœæããããšã«çŠç¹ãåœãŠãŠããŸããããããã©ã€ãšã¿ãªãªæ§è³ªãšè€éãã®ããã«ãã®æ¡çšã¯éå®çã§ãããããããžã§ã¯ã·ã§ãã«ç·šéã®ååã®åæ¥çå¿çšã瀺ããŸããã
DSLãšèšèªã¯ãŒã¯ãã³ãã䜿çšããéã®èª²é¡
å€ãã®å©ç¹ã«ãããããããDSLãšèšèªã¯ãŒã¯ãã³ãã«ã¯ç¹å®ã®èª²é¡ããããŸãã
- åææè³ïŒDSLãäœæããèšèªã¯ãŒã¯ãã³ããã»ããã¢ããããã«ã¯ãæéãšãªãœãŒã¹ã®ããªãã®åææè³ãå¿ èŠã§ãã
- åŠç¿æ²ç·ïŒéçºè ã¯æ°ããèšèªãšããŒã«ãåŠã¶å¿ èŠããããŸãã
- ä¿å®ã®ãªãŒããŒãããïŒãã¡ã€ã³ãé²åããã«ã€ããŠãDSLãä¿å®ããã³æŽæ°ããå¿ èŠããããŸãã
- çµ±åã®åé¡ïŒDSLãæ¢åã®ã·ã¹ãã ãšçµ±åããã®ã¯è€éãªå ŽåããããŸãã
- ããŒã«ã®æç床ïŒèšèªã¯ãŒã¯ãã³ãã¯å€§å¹ ã«æ¹åãããŸããããããŒã«ã®ãšã³ã·ã¹ãã ã¯ãŸã GPLã®ãã®ã»ã©æçããŠããŸããã
DSLæ¡çšã«é¢ããã°ããŒãã«ãªèæ ®äºé
DSLãšèšèªã¯ãŒã¯ãã³ãã®æ¡çšãæ€èšããéã«ã¯ãã°ããŒãã«ãªèŠç¹ãæã€ããšãéèŠã§ããèšèªãµããŒããæåçãªéããåœéæšæºãªã©ã®èŠå ããDSLãããžã§ã¯ãã®æåã«åœ±é¿ãäžããå¯èœæ§ããããŸãã
- èšèªãµããŒãïŒèšèªã¯ãŒã¯ãã³ãã察象èªè ã«å¿ èŠãªèšèªãšæåã»ããããµããŒãããŠããããšã確èªããŠãã ããã
- æåçãªéãïŒçšèªãè¡šèšæ³ã«ãããæåçãªéãã«æ³šæããŠãã ããã
- åœéæšæºïŒçžäºéçšæ§ãšã³ã³ãã©ã€ã¢ã³ã¹ã確ä¿ããããã«ãé¢é£ããåœéæšæºãéµå®ããŠãã ããã
- ã°ããŒããªãŒãŒã·ã§ã³ãšããŒã«ãªãŒãŒã·ã§ã³ïŒã°ããŒããªãŒãŒã·ã§ã³ïŒã°ããŒãã«åžå Žåãã®èšèšïŒãšããŒã«ãªãŒãŒã·ã§ã³ïŒç¹å®ã®å°åãžã®é©å¿ïŒã®äž¡æ¹ã®ããŒãºãèæ ®ããŠãã ããã
- ã¿ã€ã ãŸãŒã³ãè¶ããã³ã©ãã¬ãŒã·ã§ã³ïŒã°ããŒãã«ããŒã ã®å Žåãç°ãªãã¿ã€ã ãŸãŒã³ãèæ ®ããå ç¢ãªã³ã©ãã¬ãŒã·ã§ã³ããŒã«ãšããã»ã¹ã確ä¿ããŠãã ããã
- ã¢ã¯ã»ã·ããªãã£ïŒé害ãæã€éçºè ã®å æ¬æ§ã確ä¿ããããã«ãã¢ã¯ã»ã·ããªãã£ã念é ã«çœ®ããŠDSLãšããŒã«ãèšèšããŠãã ããã
äžçäžã®ãŠãŒã¹ã±ãŒã¹
DSLã®å¿çšã¯ãäžçäžã®æ°å€ãã®ã»ã¯ã¿ãŒã«åã³ãŸãã以äžã«ããã€ãã®äŸãæããŸãã
- éèã¢ããªã³ã°ïŒååœïŒïŒéèæ©é¢ã¯ãè€éãªéèååãããã»ã¹ãã¢ãã«åããããã«DSLãé »ç¹ã«äœ¿çšããŸããããã«ãããå€åããåžå Žç¶æ³ãèŠå¶èŠä»¶ã«è¿ éã«å¯Ÿå¿ã§ããŸãããããã¯ãã°ãã°ãããã©ã€ãšã¿ãªã§é«åºŠã«ã«ã¹ã¿ãã€ãºãããŠããŸãã
- èªç©ºå®å®å·¥åŠïŒãšãŒãããïŒïŒèªç©ºæ©ãéçºããäŒæ¥ã¯ãã·ã¹ãã ã®æåãç¹å®ããçµã¿èŸŒã¿ã³ã³ãããŒã©ãŒçšã®ã³ãŒããçæããããã«DSLã䜿çšããé«ãä¿¡é Œæ§ãšå®å šæ§ã確ä¿ããŠããŸãã
- 黿°éä¿¡ïŒã¢ãžã¢ïŒïŒé»æ°éä¿¡äºæ¥è ã¯ããããã¯ãŒã¯ããã€ã¹ã®èšå®ããããã¯ãŒã¯ãã©ãã£ãã¯ã®ç®¡çã«DSLã䜿çšããããã©ãŒãã³ã¹ã®æé©åãšéçšã³ã¹ãã®åæžãå³ã£ãŠããŸãã
- ãã«ã¹ã±ã¢ïŒåç±³ïŒïŒãã«ã¹ã±ã¢çµç¹ã¯ãèšåºã¯ãŒã¯ãããŒãæææ±ºå®æ¯æŽã·ã¹ãã ãå®çŸ©ããããã«DSLã䜿çšããæ£è ã±ã¢ã®æ¹åãšå»çé誀ã®åæžã«è²¢ç®ããŠããŸãã
- èªåè»å·¥åŠïŒãã€ãïŒïŒèªåè»ã¡ãŒã«ãŒã¯ãé»åå¶åŸ¡ãŠãããïŒECUïŒã®æåãç¹å®ãããœãããŠã§ã¢ã³ãŒãã®çæãèªååããããã«DSLãæŽ»çšããŠããŸãã
- ãšãã«ã®ãŒã»ã¯ã¿ãŒïŒãªãŒã¹ãã©ãªã¢ïŒïŒãšãã«ã®ãŒç®¡çã«é¢ããäŒæ¥ã¯ããšãã«ã®ãŒæ¶è²»ãæé©åããã¹ããŒãã°ãªããã管çããããã«DSLã䜿çšããæç¶å¯èœæ§ãšå¹çæ§ãä¿é²ããŠããŸãã
DSLãšèšèªã¯ãŒã¯ãã³ãã®æªæ¥
DSLãšèšèªã¯ãŒã¯ãã³ãã®æªæ¥ã¯æããã§ãããœãããŠã§ã¢ããŸããŸãè€éãã€å°éçã«ãªãã«ã€ããŠãç¹åããèšèªã®å¿ èŠæ§ã¯å¢ãã°ããã§ããèšèªã¯ãŒã¯ãã³ãæè¡ã®é²æ©ã«ãããDSLã®äœæãä¿å®ãå±éãããã«å®¹æã«ãªããŸãã以äžã®ãããªããšãæåŸ ãããŸãã
- æ¡çšã®å¢å ïŒããå€ãã®çµç¹ãç¹å®ã®åé¡ã解決ããç«¶äºäžã®åªäœæ§ãåŸãããã«DSLãæ¡çšããã§ãããã
- ããŒã«ã®æ¹åïŒèšèªã¯ãŒã¯ãã³ãã¯ãã匷åã§ãŠãŒã¶ãŒãã¬ã³ããªãŒã«ãªãã§ãããã
- ã¯ã©ãŠãããŒã¹ã®ãœãªã¥ãŒã·ã§ã³ïŒã¯ã©ãŠãããŒã¹ã®èšèªã¯ãŒã¯ãã³ããç»å Žããããé«ãã¹ã±ãŒã©ããªãã£ãšã¢ã¯ã»ã·ããªãã£ãæäŸããã§ãããã
- AIã«ããèšèªéçºïŒäººå·¥ç¥èœããææ³å®çŸ©ãã³ãŒãçæãªã©ãèšèªéçºã®åŽé¢ãèªååããããã«äœ¿çšãããã§ãããã
- ããŒã³ãŒã/ããŒã³ãŒããã©ãããã©ãŒã ãšã®çµ±åïŒDSLã¯ãŸããŸãããŒã³ãŒãããã³ããŒã³ãŒããã©ãããã©ãŒã ãšçµ±åããåžæ°éçºè ããœãããŠã§ã¢éçºã«åå ã§ããããã«ãªãã§ãããã
çµè«
ãã¡ã€ã³åºæèšèªãšèšèªã¯ãŒã¯ãã³ãã¯ããœãããŠã§ã¢éçºãåçåããçç£æ§ãåäžãããããã®åŒ·åãªããŒã«ã§ããåææè³ã¯å¿ èŠã§ããã衚çŸåã®åäžãã³ãŒãåè³ªã®æ¹åãä¿å®ã³ã¹ãã®åæžãšãã£ãé·æçãªå©ç¹ã«ãããããããèŠæš¡ã®çµç¹ã«ãšã£ãŠé åçãªéžæè¢ãšãªããŸããã°ããŒãã«ãªèŠç¹ãæã¡ã課é¡ãæ éã«æ€èšããããšã§ãçµç¹ã¯DSLãæåè£ã«æ¡çšãããã®å¯èœæ§ãæå€§éã«åŒãåºãããšãã§ããŸããèšèªã¯ãŒã¯ãã³ãæè¡ãé²åãç¶ããã«ã€ããŠãDSLã¯ãœãããŠã§ã¢éçºã®æªæ¥ã«ãããŠãŸããŸãéèŠãªåœ¹å²ãæãããäžçäžã®ç£æ¥ã§ãã倧ããªã€ãããŒã·ã§ã³ãšå¹çæ§ãå¯èœã«ããã§ããããããªãã®ã°ããŒãã«ãªçµç¹ã®æŠç¥çããŒãºãšéçºã¯ãŒã¯ãããŒã«æãé©ããèšèªã¯ãŒã¯ãã³ãã¯ã©ãããè©äŸ¡æ€èšããŠãã ããããã®æŠç¥çãªæ±ºå®ã¯ããããžã§ã¯ãã®ææãå€§å¹ ã«æ¹åããç«¶äºåãé«ããããšãã§ããŸãã